<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> 
</CENTER>






<HR>

<H3>compute msd/molecule command 
</H3>
<P><B>Syntax:</B>
</P>
<PRE>compute ID group-ID msd/molecule 
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
<LI>msd/molecule = style name of this compute command 
</UL>
<P><B>Examples:</B>
</P>
<PRE>compute 1 all msd/molecule 
</PRE>
<P><B>Description:</B>
</P>
<P>Define a computation that calculates the mean-squared displacement
(MSD) of individual molecules.  The calculation includes all effects
due to atoms passing thru periodic boundaries.
</P>
<P>Four quantites are calculated by this compute for each molecule.  The
first 3 quantities are the squared dx,dy,dz displacements of the
center-of-mass.  The 4th component is the total squared displacement,
i.e. (dx*dx + dy*dy + dz*dz) of the center-of-mass.
</P>
<P>The slope of the mean-squared displacement (MSD) versus time is
proportional to the diffusion coefficient of the diffusing molecules.
</P>
<P>The displacement of the center-of-mass of the molecule is from its
original center-of-mass position at the time the compute command was
issued.
</P>
<P>The MSD for a particular molecule is only computed if one or more of
its atoms are in the specified group.  Normally all atoms in the
molecule should be in the group, however this is not required.  LAMMPS
will warn you if this is not the case.  Only atoms in the group
contribute to the center-of-mass calculation for the molecule, which
is used to caculate its initial and current position.
</P>
<P>The ordering of per-molecule quantities produced by this compute is
consistent with the ordering produced by other compute commands that
generate per-molecule datums.  Conceptually, them molecule IDs will be
in ascending order for any molecule with one or more of its atoms in
the specified group.
</P>
<P>IMPORTANT NOTE: The initial coordinates of each molecule are stored in
"unwrapped" form, by using the image flags associated with each atom.
See the <A HREF = "dump.html">dump custom</A> command for a discussion of
"unwrapped" coordinates.  See the Atoms section of the
<A HREF = "read_data.html">read_data</A> command for a discussion of image flags and
how they are set for each atom.  You can reset the image flags
(e.g. to 0) before invoking this compute by using the <A HREF = "set.html">set
image</A> command.
</P>
<P>IMPORTANT NOTE: If an atom is part of a rigid body (see the <A HREF = "fix_rigid.html">fix
rigid</A> command), it's periodic image flags are altered,
and its contribution to the MSD may not reflect its true contribution.
See the <A HREF = "fix_rigid.html">fix rigid</A> command for details.  Thus, to
compute the MSD of rigid bodies as they cross periodic boundaries, you
will need to post-process a <A HREF = "dump.html">dump file</A> containing
coordinates of the atoms in the bodies.
</P>
<P>IMPORTANT NOTE: Unlike the <A HREF = "compute_msd.html">compute msd</A> command,
this compute does not store the initial center-of-mass coorindates of
its molecules in a restart file.  Thus you cannot continue the MSD per
molecule calculation of this compute when running from a <A HREF = "read_restart.html">restart
file</A>.
</P>
<P><B>Output info:</B>
</P>
<P>This compute calculates a global array where the number of rows =
Nmolecules and the number of columns = 4 for dx,dy,dz and the total
displacement.  These values can be accessed by any command that uses
global array values from a compute as input.  See <A HREF = "Section_howto.html#howto_15">this
section</A> for an overview of LAMMPS output
options.
</P>
<P>The array values are "intensive".  The array values will be in
distance^2 <A HREF = "units.html">units</A>.
</P>
<P><B>Restrictions:</B> none
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "compute_msd.html">compute msd</A>
</P>
<P><B>Default:</B> none
</P>
</HTML>
